/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sgsmcan.Entidad;

import com.sgsmcan.Exporter.Exporter;
import com.sgsmcan.Utils.Utilitario;
import java.io.Serializable;
import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 *
 * @author user
 */
@Entity
@Table(name = "HISTORIALCLINICO")
public class HistorialClinico extends Exporter implements Serializable {
    
    @Id
    @GeneratedValue
    @Column(name = "ID")
    Integer id;
    
    @Column(name = "DIAGNOSTICO")
    String diagnostico;
    
    @Column(name = "TRATAMIENTO")
    String tratamiento;
    
    @ManyToOne
    @JoinColumn(name = "IDENFERMEDAD")
    Enfermedad enfermedad;
    
    @Column(name = "PESO")
    Double peso;
    
    @Column(name = "ESTATURA")
    Double estatura;
    
    @Column(name = "FECHAREGISTRO",insertable = false)
    Timestamp fechaRegistro;
    
    @Column(name = "FECHAACTUALIZACION",insertable = false , updatable = false)
    Timestamp fechaActualizacion;
    
    @ManyToOne()
    @JoinColumn(name = "IDPERRO", nullable = false)
    Perro perro;
    
    @Column(name = "IDUSUARIO")
    Integer idUsuario;
    
    @Column(name = "ESTADO")
    boolean estado;

    public HistorialClinico() {
    }

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("HistorialClinico{");
        builder.append("id=");
        builder.append(id);
        builder.append(", diagnostico=");
        builder.append(diagnostico);
        builder.append(", peso=");
        builder.append(peso);
        builder.append(", estatura=");
        builder.append(estatura);
        builder.append(", fechaRegistro=");
        builder.append(fechaRegistro);
        builder.append(", fechaActualizacion=");
        builder.append(fechaActualizacion);
        builder.append(", idUsuario=");
        builder.append(idUsuario);
        builder.append("}");
        return  builder.toString();
    }
    
    /*  GETTER AND SETTER   */
    
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getDiagnostico() {
        return diagnostico;
    }

    public void setDiagnostico(String diagnostico) {
        this.diagnostico = diagnostico;
    }

    public Double getPeso() {
        return peso;
    }

    public void setPeso(Double peso) {
        this.peso = peso;
    }

    public Double getEstatura() {
        return estatura;
    }

    public void setEstatura(Double estatura) {
        this.estatura = estatura;
    }

    public Perro getPerro() {
        return perro;
    }

    public void setPerro(Perro perro) {
        this.perro = perro;
    }

    public Timestamp getFechaRegistro() {
        return fechaRegistro;
    }

    public void setFechaRegistro(Timestamp fechaRegistro) {
        this.fechaRegistro = fechaRegistro;
    }

    public Timestamp getFechaActualizacion() {
        return fechaActualizacion;
    }

    public void setFechaActualizacion(Timestamp fechaActualizacion) {
        this.fechaActualizacion = fechaActualizacion;
    }

    public Integer getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(Integer idUsuario) {
        this.idUsuario = idUsuario;
    }

    public String getTratamiento() {
        return tratamiento;
    }

    public void setTratamiento(String tratamiento) {
        this.tratamiento = tratamiento;
    }

    public Enfermedad getEnfermedad() {
        return enfermedad;
    }

    public void setEnfermedad(Enfermedad enfermedad) {
        this.enfermedad = enfermedad;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }

    @Override
    public String[] getDatos() {
        return new String[]{""+this.id, ""+Utilitario.convertirFormatoFecha(this.fechaRegistro,"dd/MM/yyyy hh:mm")
        ,this.diagnostico,""+this.enfermedad.nombre,this.tratamiento};
    }

    @Override
    public String[] getTitulos() {
        return new String[]{"id","Fecha de Registro","Diagnostico","Enfermedad","Tratamiento"};
    }
    
}
